package qualomelhor.server;

import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.http.*; 
import qualomelhor.database.*; 

public class LoginServlet extends HttpServlet { 

	private static final long serialVersionUID = 0;

	public void doPost(HttpServletRequest req, HttpServletResponse resp) throws IOException { 

		resp.setContentType("Text/Plain");
		
		String email = req.getParameter("txtEmail");
		String senha = req.getParameter("txtSenha");
		String poslogin = req.getParameter("txtPosLogin");
		
		System.out.println("email = [" + email + "]");
		System.out.println("senha = [" + senha + "]");
		System.out.println("poslogin = [" + poslogin + "]");
		DAO d = new DAO();

		Usuario u = d.getUsuario(email);
		boolean usuarioSenhaOK = false;
		if (u != null) {
			System.out.println("Usuario encontrado! Checando senha...");
			System.out.println("Senha recuperada:[" + u.getSenha() + "]");
			if (u.getSenha().equals(senha)) {
				System.out.println("Senha ok!! Checando usuario confirmado...");
				System.out.println("Usuario confirmado recuperado:[" + u.getUsuarioConfirmado() + "]");
				if (u.getUsuarioConfirmado() == true) {
					System.out.println("Usuario Confirmado OK!! Checando usuario bloqueado...");
					System.out.println("Usuario bloqueado recuperado:[" + u.getUsuarioBloqueado() + "]");
					if (!u.getUsuarioBloqueado()) {
				        HttpSession session = req.getSession(true);
				        session.setAttribute("UsuarioAtual", u);
						System.out.println("Senha correta. Redirecionar para home");
						usuarioSenhaOK = true;
					} else {
						System.out.println("Usu�rio est� Bloqueado!!");
					}
				} else {
					System.out.println("Usu�rio n�o foi confirmado!");	
				}
			} else {
				System.out.println("Senha inv�lida!!!");
			}
		}
		

		if (usuarioSenhaOK) {
			if (u.getUsuarioConfirmado()) {
				System.out.println("poslogin = " + poslogin);
				if (poslogin == null || poslogin.equals("") || poslogin.equals("null")) {
					resp.sendRedirect("/home");
				} else {
					resp.sendRedirect(poslogin);
				}
			} else {
				resp.sendRedirect("/index.jsp?pagina=confirmar");
			}
			//pw.println("Bem vindo. " + u.getNomeUsuario() + "! Redirecionar para inicio horotimo"); 
		} else {
			PrintWriter pw = resp.getWriter();
			resp.setContentType("text/html");
			pw.println("Email ou senha incorretos!");
		}
	}
}